package it.apiconsulting.live.view;

import it.apiconsulting.live.controller.CategoriaManager;
import it.apiconsulting.live.controller.SottoCategoriaManager;
import it.apiconsulting.live.model.Categoria;
import it.apiconsulting.live.model.SottoCategoria;

import java.util.List;


public class SottoCategoriaAction extends BaseAction {

	private static final long serialVersionUID = 9149826260758390091L;
	private SottoCategoria sottocategoria;
	private List<SottoCategoria> sottocategorie;
	private List<Categoria> categorie;
	private String id;

	private SottoCategoriaManager linkController;
	private CategoriaManager linkCategoriaController;

	public SottoCategoriaAction() {
		linkController = new SottoCategoriaManager();
		linkCategoriaController = new CategoriaManager();
		function = "SottoCategoria";
	}

	public String execute() {
		this.sottocategorie = linkController.list();
		this.categorie = linkCategoriaController.list();
		return SUCCESS;
	}

	public String add() {
		
		try {
			if (getId() != null && !getId().equals("") ) {
				if ( linkController.getSottoCategoriaById(Long.parseLong(getId())) != null ) {
					getSottocategoria().setId(Long.parseLong(getId()));
					linkController.update(getSottocategoria());
				}
			} else linkController.add(getSottocategoria());
		} catch (Exception e) {
			e.printStackTrace();
		}		
		this.sottocategorie = linkController.list();
		return SUCCESS;
	}

	public String delete() {
		linkController.delete(Long.parseLong(getId()));
		return SUCCESS;
	}
	
	public String edit() {
		setSottocategoria(linkController.getSottoCategoriaById(Long.parseLong(getId())));
		return SUCCESS;
	}

	public SottoCategoria getSottocategoria() {
		return sottocategoria;
	}

	public List<SottoCategoria> getSottocategorie() {
		return sottocategorie;
	}

	public void setSottocategoria(SottoCategoria sottocategoria) {
		this.sottocategoria = sottocategoria;
	}

	public void setSottocategorie(List<SottoCategoria> sottocategorie) {
		this.sottocategorie = sottocategorie;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public List<Categoria> getCategorie() {
		return categorie;
	}

	public void setCategorie(List<Categoria> categorie) {
		this.categorie = categorie;
	}
}
